﻿@model IEnumerable<ResultTK>
@using Kendo.Mvc.UI

@if (Model.Count() > 0)
{
    // Tinh phan tram
    string data = "<script> _data=[";
    int TongHoSo = 0;

    TongHoSo = Model.Count();
    var result = Model.GroupBy(e => new { e.MaNganh, e.TenNganh }).Select(e =>
        new DynamicData
        {
            ID = e.Key.MaNganh,
            Name = e.Key.TenNganh,
            Total = e.Count()
        });

    foreach (var item in result)
    {
        data += "['" + item.Name + "'," + Math.Round((float)item.Total / TongHoSo, 3).ToString().Replace(',', '.') + "],";
    }

    data = data.Substring(0, data.Length - 1);
    data += "]; ";

    data += " </script>";

    @Html.Raw(data)

    <div id="container"></div>
    <script>
    $(function () {
        $('#container').highcharts({
            chart: {
                plotBackgroundColor: null,
                plotBorderWidth: 0,//null,
                plotShadow: false
            },
            title: {
                text: 'Thống kê hồ sơ theo Ngành đào tạo',
                    x:-20
                },
                tooltip: {
                    pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
                },
                subtitle: {
                    text: 'Bậc đào tạo: @Html.Raw(ViewBag.BacDaoTao), khối: @Html.Raw(ViewBag.Khoi)<br/>Số liệu từ:  @(ViewBag.TuNgay + " - " + ViewBag.DenNgay)<br/>Tổng số hồ sơ: @TongHoSo',
                    x: -20
                },
            plotOptions: {
                pie: {
                    allowPointSelect: true,
                    cursor: 'pointer',
                    dataLabels: {
                        enabled: true,
                        format: '<b>{point.name}</b>: {point.percentage:.1f} %',
                        style: {
                            color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black'
                        }
                    }
                },
                showInLegend: true
            },
            series: [{
                type: 'pie',
                name: 'Lượng hồ sơ chiếm',
                data: _data
            }]
        });
    });

    </script>    <hr />
    <a class="btn btn-danger" id='print' onclick="tableToExcel( '#Grid table','Thống kê theo ngành')">Xuất Excel</a>  
    <div class="clear pb10 "> </div>
    <div class="table-responsive">

        @( Html.Kendo().Grid(Model)
                    .Name("Grid")
                        .Pageable(page => page  // Phân trang
                            //.ButtonCount(3)    // Số button hiển thị phân trang
                                .Info(true)   // Hiển thị thông tin dữ liệu dưới cùng góc bên phải Grid
                                .Refresh(true)   // Hiển thị nút làm mới Grid
                                        .Messages(mess => mess
                                        .Display("{0}-{1} của {2} bản ghi.")
                                        .Empty("Không có dữ liệu")
                                        .Refresh("Làm mới")
                                        .First("Trang đầu tiên")
                                        .Last("Trang cuối cùng")
                                        .Next("Trang tiếp")
                                        .Previous("Trang trước")
                                    )
                                 .Input(false)

                            )
                    .Columns(columns =>
                    {
                        columns.Bound(p => p.MaTS);
                        columns.Bound(p => p.FullName);
                        columns.Bound(p => p.SBD);
                        columns.Bound(p => p.NgaySinh);
                        columns.Bound(p => p.TenBacDaoTao);
                        columns.Bound(p => p.TenKhoiThi);
                        columns.Bound(p => p.TenNganh);
                        columns.Bound(p => p.TenChuyenNganh);
                        columns.ForeignKey(p => p.HinhThucDK, (System.Collections.IEnumerable)ViewBag.HinhThucDK, "Value", "Text")
                               .Title("Hình thức đăng ký");
                    })
                    .DataSource(dataSource => dataSource
                        .Ajax()
                    .PageSize(10)
                     .Sort(e =>
                     {                                      
                         e.Add(p => p.MaKhoiThi);
                         e.Add(p => p.MaBacDaoTao);
                         e.Add(p => p.MaNganh);
                         e.Add(p => p.MaChuyenNganh);
                         e.Add(p => p.MaTS);
                         e.Add(p => p.HinhThucDK);
                     }))
        )
    </div>
}
else
{
    <h4 class="no-data">Không có dữ liệu</h4>
}